# Copyright 2021 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Monitor Model
inputs:
- {name: project_id, type: String}
- {name: data_region, type: String}
- {name: user_emails, type: String}
- {name: log_sample_rate, type: Float}
- {name: monitor_interval, type: Integer}
- {name: default_threshold, type: Float}
- {name: custom_skew_thresholds, type: String}
- {name: custom_drift_thresholds, type: String}
- {name: endpoint, type: Artifact}
- {name: instance_schema, type: Artifact}
- {name: dataset, type: Dataset}
outputs:
implementation:
  container:
    image: {{af_registry_location}}-docker.pkg.dev/{{project_id}}/{{af_registry_name}}/component-base:latest
    command: [python, /pipelines/component/src/monitor.py]
    args: [
      --executor_input, {executorInput: null},
      --function_to_execute, monitor_model,
      --project-id, {inputValue: project_id},
      --data-region, {inputValue: data_region},
      --user-emails, {inputValue: user_emails},
      --log-sample-rate, {inputValue: log_sample_rate},
      --monitor-interval, {inputValue: monitor_interval},
      --default-threshold, {inputValue: default_threshold},
      --custom-skew-thresholds, {inputValue: custom_skew_thresholds},
      --custom-drift-thresholds, {inputValue: custom_drift_thresholds},
      --endpoint, {inputPath: endpoint},
      --instance-schema, {inputPath: instance_schema},
      --dataset, {inputPath: dataset}
    ]
